<?php


namespace Part24_IntermediaryModel\Code2;

/**
 * 定义一个处理请示的接口
 */
abstract class Handler
{
    /**
     * @var Handler
     */
    protected $successor;

    /**
     * 设置继任者
     * @param $successor Handler
     */
    public function setSuccessor($successor)
    {
        $this->successor = $successor;
    }

    /**
     * 处理请求的抽象方法
     * @param $request
     * @return mixed
     */
    public abstract function handleRequest($request);
}